Methods and apparatus to extricate a vehicle from a stuck condition

ABSTRACT

Methods and apparatus to extricate a vehicle from a stuck condition, apparatus, systems and articles of manufacture are disclosed. An example apparatus includes: a user interface to receive a command to place a vehicle in an autonomous control mode of the vehicle; and a stuck mode controller to autonomously shift a transmission of the vehicle alternately between a reverse gear and a forward gear of the vehicle when in the autonomous control mode to autonomously rock the vehicle back and forth. A timing of the shifting of the transmission is based on a ratio of a velocity of the vehicle to an acceleration of the vehicle.

RELATED APPLICATION

This patent arises from a continuation of U.S. patent application Ser.No. 15/332,451 (now U.S. Pat. No. 10,358,141) filed on Oct. 24, 2016.U.S. patent application Ser. No. 15/332,451 is hereby incorporatedherein by reference in its entirety. Priority to U.S. patent applicationSer. No. 15/332,451 is claimed.

FIELD OF THE DISCLOSURE

This disclosure relates generally to driver assistance and, moreparticularly, to methods and apparatus to extricate a vehicle from astuck condition.

BACKGROUND

Traction control in a vehicle serves to reduce the amount of slippage(e.g., loss of traction) that occurs between the wheels of the vehicleand the surface on which the vehicle is traveling. This may beaccomplished by reducing the torque delivered to the wheels and/or byapplying a braking force to the wheels. While traction control improvesthe safety of the vehicle in many circumstances, there are situationswhere traction control is undesirable. For example, when the vehicle isstuck in a rut that provides little traction (e.g., formed of snow, mud,sand, or another deformable material), traction control can undermineefforts to spin the wheels in alternating directions to rock the vehicleuntil it becomes free of the rut.

SUMMARY

Methods and apparatus to extricate a vehicle from a stuck condition aredisclosed. An example apparatus is disclosed that includes a userinterface to receive a command to place a vehicle in an autonomouscontrol mode of the vehicle; and a stuck mode controller to autonomouslyshift a transmission of the vehicle alternately between a reverse gearand a forward gear of the vehicle when in the autonomous control mode toautonomously rock the vehicle back and forth. A timing of the shiftingof the transmission is based on a ratio of a velocity of the vehicle toan acceleration of the vehicle.

An example non-transitory computer readable medium includinginstructions is disclosed that, when executed, cause a machine to atleast: receive a command to place a vehicle in an autonomous controlmode of the vehicle; and autonomously shift a transmission of thevehicle alternately between a reverse gear and a forward gear of thevehicle when in the autonomous control mode to rock the vehicle back andforth. A timing of the shifting of the transmission is based on a ratioof a velocity of the vehicle to an acceleration of the vehicle.

An example method is disclosed that includes receiving a command toplace a vehicle in an autonomous control mode of the vehicle; andautonomously shifting a transmission of the vehicle alternately betweena reverse gear and a forward gear of the vehicle when in the autonomouscontrol mode to rock the vehicle back and forth. A timing of theshifting of the transmission is based on a ratio of a velocity of thevehicle to an acceleration of the vehicle.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example control system of an examplevehicle.

FIG. 2 is a flowchart illustrating an example method to implement theexample control system of FIG. 1 to detect when the vehicle is in astuck condition.

FIG. 3 is a flowchart illustrating an example method to implement theexample control system of FIG. 1 to automatically deactivate a tractioncontrol feature of the vehicle when in a stuck condition.

FIG. 4 is a flowchart illustrating an example method to implement theexample control system of FIG. 1 to autonomously extricate the vehiclefrom a stuck condition.

FIG. 5 is a flowchart illustrating an example method to implement theexample control system of FIG. 1 to autonomously rock the vehicle inconnection with the flowchart of FIG. 4.

FIG. 6 is a block diagram of an example processor system structured toexecute example machine readable instructions represented at least inpart by FIGS. 2-5 to implement the example control system of the examplevehicle of FIG. 1.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of an example vehicle 100 with two frontwheels 102, 104 and two rear wheels 106, 108. In the illustratedexample, the vehicle 100 includes a control system 109 that includes adrive system 110 operatively coupled to a drivetrain to provide power tothe front wheels 102, 104 of the vehicle 100. That is, for purposes ofexplanation, the vehicle 100 is a front-wheel drive vehicle. However,the teachings disclosed herein may be suitably adapted to other types ofvehicles (e.g., all-wheel drive vehicles, rear-wheel drive vehicles,etc.).

As used herein, the wheels that receive power through the drivetrain(e.g., the front wheels 102, 104 in FIG. 1) are referred to as drivenwheels, whereas the wheels that do not receive power through thedrivetrain (e.g., the rear wheels 106, 108) are referred to asnon-driven wheels. The power source to drive the driven wheels 102, 104may include any suitable type of power generating system such as, forexample, a gas powered combustion engine, a battery powered motor, or ahybrid system. In some examples, the drive system 110 is associated withan engine controller 112 to control the amount of torque provided to thedriven wheels 102, 104.

In the illustrated example of FIG. 1, the control system 109 of thevehicle 100 is provided with a brake system 114 to control brakesoperatively coupled to the wheels 102, 104, 106, 108. The brake system114 may be any of an electric system, an electro-hydraulic system, or ahydraulic system. Typically, the brakes are activated in response todriver input via a brake pedal. In some examples, the brake system mayautomatically activate the brakes based on input from a traction controlsystem 116 and/or any other electronic control unit (ECU).

In some examples, the traction control system 116 is communicativelycoupled to wheel speeds sensors including driven wheel speed sensors 118(e.g., associated with the driven wheels 102, 104) and non-driven wheelspeed sensors 120 (e.g., associated with the non-driven wheels 106,108). The traction control system 116 may detect a slip condition whenat least some of the wheels 102, 104, 106, 108 are slipping based onfeedback from the wheel speed sensors 118, 120. For example, adifference between the average speed of the driven wheels 102, 104 andthe average speed of the non-driven wheels 106, 108 that exceeds athreshold may indicate the wheels are slipping. More particularly, thespeed of the non-driven wheels 106, 108 may be used to measure the speedof the vehicle 100 because the non-driven wheels 106, 108 roll along theground as the vehicle 100 moves. Thus, if the driven wheels 102, 104 aremoving significantly faster than the non-driven wheels 106, 108 (e.g.,above the threshold), it is likely that the driven wheels 102, 104 arespinning relative to the movement of the vehicle 100 along the surfaceof the ground. In such examples, the traction control system 116 maygenerate a control signal or torque command for the engine controller112 to reduce the amount of torque delivered to the driven wheels 102,104 via the drive system 110. Additionally or alternatively, thetraction control system 116 may generate a braking command to actuatethe brakes associated with the wheels 102, 104, 106, 108 via the brakesystem 114 in response to sensing the slipping of the wheels.

In some examples, where the vehicle 100 is all-wheel drive, there are nonon-driven wheels to measure the vehicle speed for comparison to thespeed of the driven wheels. In some such examples, the traction controlsystem 116 may detect slip conditions based on feedback from othersensors such as, for example, a longitudinal acceleration sensor 122.Based on the detected acceleration of the vehicle 100, the speed of thevehicle 100 may be determined for comparison to the speed of the drivenwheels. Other types of sensors may also provide inputs to the tractioncontrol system 116 such as, for example, an ambient temperature sensor,a yaw rate sensor, a lateral acceleration sensor, a roll rate sensor,etc. Feedback from these sensors may be used by the traction controlsystem 116 to further verify slip conditions and/or detect differenttypes of slip conditions and/or associated metrics of the stability ofthe vehicle 100.

A particular type of a slip condition occurs when the average speed ofthe non-driven wheels 106, 108 (or other measure of the speed of thevehicle 100) is approximately zero while the average speed of the drivenwheels 102, 104 is greater than or equal to a threshold speed abovezero. This slip condition is referred to herein as a stuck conditionbecause the vehicle 100 is substantially not moving despite the spinningof the driven wheels 102, 104. Stuck conditions may arise when the oneor more of the driven wheels 102, 104 are within a rut that providesrelatively little traction for the wheels to escape the rut. Often therut is the result of the vehicle 100 driving over a deformable material(e.g., snow, sand, mud, etc.) that gives way under the weight of thevehicle 100 and/or is moved by the rotation of the wheels 102, 104. Inother situations, the rut may be substantially solid but still providelittle traction (e.g., ice).

When a vehicle is in a stuck condition, it is sometimes possible toextricate the vehicle 100 by spinning the wheels 102, 104 within the rutrepeatedly in opposite directions to rock the vehicle back and forth.The momentum of the vehicle 100 created by the rocking motion inconjunction with the spinning of the vehicles 100 may be sufficient toultimately free the vehicle 100 from the rut so that the vehicle 100 canmove again.

While traction control is beneficial under many circumstances, thetraction control feature can undermine efforts to remove a vehicle froma stuck condition because it reduces the spinning of the driven wheels102, 104. Accordingly, when a vehicle is in a stuck condition, a drivermay desire to manually disable the traction control. Some vehiclesinclude a physical switch to manually toggle the traction controlbetween ON and OFF states. Other vehicles may be provided with a softswitch accessed via a display screen associated with a user interface(e.g., the user interface 124) to disable and enable the tractioncontrol. In U.S. Pat. No. 9,037,341, systems and methods for displayinga traction control ON/OFF menu on such a display screen upon detectionthat the vehicle 100 is in a condition in which the driver may desire todeactivate the traction control are disclosed. U.S. Pat. No. 9,037,341is incorporated herein by reference in its entirety.

In some examples disclosed herein, a stuck mode controller 126 isprovided to detect that the vehicle 100 is in a stuck condition andautomatically instruct the traction control system 116 to deactivate thetraction control when a driver is attempting to extricate the vehicle100. Further, once the stuck mode controller 126 detects that thevehicle 100 has become unstuck, the stuck mode controller 126 mayinstruct the traction control system 116 to automatically reactivatetraction control. The automatic deactivation and activation of tractioncontrol without human input saves a person time from having to manuallydeactivate the traction control and/or from having to learn where themanual switch may be accessed (either a physical switch or as a softswitch via the user interface 124). Furthermore, automatic disablementand enablement of the traction control helps avoid the possibility ofdrivers forgetting to reactivate the traction control once theirvehicles are unstuck. Further still, automatically turning the tractioncontrol OFF and ON without depending on a direct command to do so from ahuman may help drivers who are not aware of the option to disabletraction control and/or who do not think about the traction control whenunder the stress and frustration of their vehicles being in a stuckcondition.

Caution should be taken when removing human involvement in thedeactivation of a safety feature such as traction control. Accordingly,in some examples, traction control is automatically deactivated onlywhen there is a high level of confidence that the vehicle 100 is, infact, in a stuck condition. In some examples, the stuck mode controller126 obtains this confidence by detecting a stuck condition based on thespeeds of the driven wheels 102, 104 and the non-driven wheels 106, 108,as described above, and verifying the determination by sensing thedriver of the vehicle 100 attempting to rock the vehicle 100 byrepeatedly spinning the wheels alternately in the forward and reversedirections. Thus, in addition to feedback from the driven wheel speedsensors 118 and the non-driven wheel speed sensors 120 and/or thelongitudinal acceleration sensor 122, the stuck mode controller 126 mayreceive as additional input parameters, the current gear of thetransmission (e.g., whether in drive or reverse), and the requestedtorque or throttle position (e.g., provided by an accelerator pedalsensor 128) to indicate the driver's intent to rock the vehicle 100 byalternately torqueing the wheels in the forward and reverse directions.

When the input parameters monitored by the stuck mode controller 126 areindicative of a stuck condition and the actions of the driver areindicative of an intent to rock the vehicle 100, the stuck modecontroller 126 may have sufficient confidence to automatically disablethe traction control (e.g., by generating an appropriate command to thetraction control system 116) to assist the driver's efforts to extricatethe vehicle 100. Once the stuck mode controller 126 detects that thevehicle 100 is no longer in a stuck condition and/or the driver is nolonger attempting to rock the vehicle 100, the stuck mode controller 126may cause the traction control to be reactivated.

In some examples, the stuck mode controller 126 serves to autonomouslyextricate the vehicle 100 from a stuck condition without humaninvolvement. That is, in some examples, the stuck mode controller 126may operate in conjunction with the drive system 110, the enginecontroller 112, the brake system 114, and the traction control system116 to automatically control the steering, braking, gear shifts, andengine throttling to autonomously rock the vehicle 100 out of a rutassociated with a stuck condition. While the process may be autonomous,in some examples, a driver may first provide a command (e.g., select a“stuck mode” option via the user interface 124) to activate the stuckmode controller 126 before the vehicle 100 begins autonomous control. Insome examples, in response to detecting that the vehicle 100 is in astuck condition, the traction control system 116 may generate a prompt(e.g., displayed via the user interface 124) for the driver to authorizethe stuck mode controller 126 to initiate autonomous control of thevehicle 100.

In some examples, when a driver places the vehicle 100 in a stuck mode(e.g., activates the stuck mode controller 126) associated withautonomous control, traction control may be automatically deactivated.Once the stuck mode controller 126 is deactivated, traction control maybe automatically restored. In some examples, the stuck mode controller126 is automatically deactivated (and traction control enabled) when thestuck mode controller 126 detects that the vehicle 100 is no longer in astuck condition. The stuck mode controller 126 may be deactivated by thedriver aborting the autonomous control of the vehicle 100. For example,the driver may abort the autonomous control by selecting an option viathe user interface 124 to cancel the stuck mode. Additionally oralternatively, in some examples, the autonomous control of the vehicle100 by the stuck mode controller 126 may automatically abort if thedriver attempts to take control of any aspect of the vehicle 100currently being controlled by the stuck mode controller 126. Forexample, if the driver steps on the accelerator pedal, steps on thebrake pedal, or turns the steering wheel, the stuck mode controller 126may automatically deactivate the stuck mode (and enable tractioncontrol). In some examples, traction control may not be entirelydeactivated while the stuck mode controller 126 is autonomouslycontrolling the vehicle 100 but the thresholds and other parameters usedto reduce torque and/or apply brakes may be adjusted to the particularcircumstances of extricating the vehicle 100 from a stuck condition.

In the illustrated example, the control system 109 of the vehicle 100 isprovided with proximity sensors 130 to detect the environmentsurrounding the vehicle 100. For example, the proximity sensors 130 maydetect the distance and location of nearby objects (e.g., fences, trees,curbs, walls, other vehicles, etc.) relative to the vehicle 100. In someexamples, feedback from the proximity sensors 130 is used as inputparameters to the stuck mode controller 126 to determine the availablespace or envelope surrounding the vehicle 100 within which the vehicle100 may maneuver while being rocked in a stuck condition. In someexamples, the determination of a maneuverability envelope informs howthe vehicle 100 is autonomously controlled. For example, if theproximity sensors 130 detect a lamp post (or any other object) in frontof and to the left of the vehicle 100, the stuck mode controller 126 maydirect the front wheels 102, 104 to the right to avoid the object. Asanother example, if another vehicle (or any other object) is detected inclose proximity to the rear of the vehicle 100, the stuck modecontroller 126 may control the amount of torque provided by the engine(via the engine controller 112) to be relatively low when the vehicle100 is moving in reverse (towards the detected vehicle) as compared witha much higher torque provided when moving forward (away from thedetected vehicle). In some examples, feedback from the proximity sensors130 is monitored in substantially real-time during autonomous control ofthe vehicle 100 to detect in changes in the maneuverability envelope.

In some examples, the stuck mode controller 126 controls the timing ofthe shifting between reverse and forward gears and the associatedthrottling of the engine to take advantage of the momentum of thevehicle 100 as it rocks. That is, while slight movement of the vehicle100 in a stuck condition within a rut typically occurs as the drivenwheels 102, 104 are spun, when the wheels stop spinning and/or tractionbetween the wheels and the underlying surface is lost, the wheels 102,104 may slide back into the rut. The momentum of the vehicle 100 slidingback into the rut can be used advantageously by reversing the directionof the wheels so that they spin in the same direction that the vehicle100 is already sliding. Repeating this process in both directions as thevehicle 100 is rocked back and forth can enable the wheels 102, 104 toultimately escape the rut and free the vehicle 100 from the stuckcondition. In some examples, the stuck mode controller 126 times thespinning of the wheels 102, 104 to begin at approximately the same timethat the vehicle 100 stops moving up the rut and begins to slide backinto the rut. In this manner, the combined effect of the spinning wheelsand the momentum of the vehicle 100 is taken advantage of during thefull distance that the vehicle 100 moves when sliding back into the rut.

In some examples, the stuck mode controller 126 determines the timingfor spinning the wheels 102, 104 based on feedback from the driven wheelspeed sensors 118, the non-driven wheel speed sensors 120, and thelongitudinal acceleration sensor 122. In kinematics, the relationshipbetween velocity, acceleration, and time can be expressed by Equation 1below:V _(f) =V _(o) +at  (1)where V_(f) is the final velocity, V_(o) is the original velocity, a isthe acceleration, and t is the time to reach the final velocity (V_(f)).In some examples, the stuck mode controller 126 uses Equation 1 toestimate the time (t) when the vehicle 100 will stop moving and, thus,begin sliding back into the rut. In some such examples, the originalvelocity (V_(o)) in the above equation corresponds to the speed of thevehicle 100 determined based on the speed of the non-driven wheels 106,108 as provided by the non-driven wheel speed sensors 120. Theacceleration (a) in the above equation corresponds to the accelerationof the vehicle 100 provided by the longitudinal acceleration sensor 122.The final velocity (V_(f)) goes to zero as it corresponds to when thevehicle 100 stops moving and is about to begin sliding back into therut. Setting V_(f)=0 and solving for t provides Equation 2 below:t=−V _(o) /a  (2)The acceleration (a) will be negative to cancel out the negative inEquation 2 because the vehicle 100 is slowing down. Thus, using absolutevalues, the time (t) until the vehicle 100 stops moving (and the wheelsare to start spinning in the other direction) can be estimated as theratio of the velocity of the vehicle 100 to the acceleration of thevehicle 100.

While the time when the vehicle 100 is expected to stop moving and beginsliding can be estimated to determine when to begin spinning the wheels,shifting gears in a transmission and delivering torque to the wheelscannot be done instantaneously. Rather, there is some time lag. Whileeach vehicle is different, examples time lags may be approximately 0.75seconds. In some examples, the stuck mode controller 126 stores the timelag for comparison against the time (t) in Equation 2. In some examples,the stuck mode controller 126 initiates the transmission shift when thetime (t) approximately equals the time lag to shift gears and throttlethe engine. In this manner, torque delivered to the wheels beginsapproximately at the same time that the vehicle 100 stops moving andbegins sliding back into the rut. Timing the automatic shifting betweenforward and reverse gears with the rocking of the vehicle 100 in thismanner can take advantage of the backsliding momentum of the vehicle 100in both directions to help extricate the vehicle 100 from a stuckcondition.

While Equations 1 and 2 described above may be used to estimate the timeto begin spinning the wheels 102, 104 (and, thus, the time to initiate agear shift to do so), other more complicated equations may alternativelybe used. For example, Equations 1 and 2 assume movement along a straightline with constant acceleration. By contrast, the vehicle 100 beingrocked in a rut is likely to undergo some non-linear movement as thewheels 102, 104, 106, 108 ride up and down the sides of the rut and/orslide laterally. Thus, in some examples, more complex calculations maybe performed to obtain more accurate results. In some such examples,additional input parameters such as, for example, feedback from alateral acceleration sensor and/or a vertical acceleration sensor mayalso be used. However, in many situations, the approximation provided byEquations 1 and 2 is sufficient to take advantage of the momentum ofvehicle 100 as it is rocked back and forth.

While an example manner of implementing the control system 109 of thevehicle 100 is illustrated in FIG. 1, one or more of the elements,processes and/or devices illustrated in FIG. 1 may be combined, divided,re-arranged, omitted, eliminated and/or implemented in any other way.For example, the stuck mode controller 126 may be implemented as part ofthe traction control system 116 and/or incorporated into one or moreother specific electronic control units of the vehicle 100. Further, theexample drive system 110, the example engine controller 112, the examplebrake system 114, the example traction control system 116, the exampledriven wheel speed sensors 118, the example non-driven wheel speedsensors 120, the example longitudinal acceleration sensor 122, theexample user interface 124, the example stuck mode controller 126, theexample accelerator pedal sensor 128, the example proximity sensors 130,and/or, more generally, the control system 109 of the example vehicle100 of FIG. 1 may be implemented by hardware, software, firmware and/orany combination of hardware, software and/or firmware. Thus, forexample, any of the example drive system 110, the example enginecontroller 112, the example brake system 114, the example tractioncontrol system 116, the example driven wheel speed sensors 118, theexample non-driven wheel speed sensors 120, the example longitudinalacceleration sensor 122, the example user interface 124, the examplestuck mode controller 126, the example accelerator pedal sensor 128, theexample proximity sensors 130, and/or, more generally, the examplecontrol system 109 could be implemented by one or more analog or digitalcircuit(s), logic circuits, programmable processor(s), applicationspecific integrated circuit(s) (ASIC(s)), programmable logic device(s)(PLD(s)) and/or field programmable logic device(s) (FPLD(s)). Whenreading any of the apparatus or system claims of this patent to cover apurely software and/or firmware implementation, at least one of theexample drive system 110, the example engine controller 112, the examplebrake system 114, the example traction control system 116, the exampledriven wheel speed sensors 118, the example non-driven wheel speedsensors 120, the example longitudinal acceleration sensor 122, theexample user interface 124, the example stuck mode controller 126, theexample accelerator pedal sensor 128, and/or the example proximitysensors 130 is/are hereby expressly defined to include a tangiblecomputer readable storage device or storage disk such as a memory, adigital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc.storing the software and/or firmware. Further still, the example controlsystem 109 of the vehicle 100 of FIG. 1 may include one or moreelements, processes and/or devices in addition to, or instead of, thoseillustrated in FIG. 1, and/or may include more than one of any or all ofthe illustrated elements, processes and devices.

Flowcharts representative of example methods for implementing thecontrol system 109 of FIG. 1 is shown in FIGS. 2-5. In these examples,the methods may be implemented using machine readable instructions thatcomprise a program for execution by a processor such as the processor612 shown in the example processor platform 600 discussed below inconnection with FIG. 6. The program may be embodied in software storedon a tangible computer readable storage medium such as a CD-ROM, afloppy disk, a hard drive, a digital versatile disk (DVD), a Blu-raydisk, or a memory associated with the processor 612, but the entireprogram and/or parts thereof could alternatively be executed by a deviceother than the processor 612 and/or embodied in firmware or dedicatedhardware. Further, although the example methods are described withreference to the flowcharts illustrated in FIGS. 2-5, many other methodsof implementing the example control system 109 of the vehicle 100 mayalternatively be used. For example, the order of execution of the blocksmay be changed, and/or some of the blocks described may be changed,eliminated, or combined.

As mentioned above, the example processes of FIGS. 2-5 may beimplemented using coded instructions (e.g., computer and/or machinereadable instructions) stored on a tangible computer readable storagemedium such as a hard disk drive, a flash memory, a read-only memory(ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, arandom-access memory (RAM) and/or any other storage device or storagedisk in which information is stored for any duration (e.g., for extendedtime periods, permanently, for brief instances, for temporarilybuffering, and/or for caching of the information). As used herein, theterm tangible computer readable storage medium is expressly defined toinclude any type of computer readable storage device and/or storage diskand to exclude propagating signals and to exclude transmission media. Asused herein, “tangible computer readable storage medium” and “tangiblemachine readable storage medium” are used interchangeably. Additionallyor alternatively, the example processes of FIGS. 2-5 may be implementedusing coded instructions (e.g., computer and/or machine readableinstructions) stored on a non-transitory computer and/or machinereadable medium such as a hard disk drive, a flash memory, a read-onlymemory, a compact disk, a digital versatile disk, a cache, arandom-access memory and/or any other storage device or storage disk inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, for brief instances, for temporarily buffering,and/or for caching of the information). As used herein, the termnon-transitory computer readable medium is expressly defined to includeany type of computer readable storage device and/or storage disk and toexclude propagating signals and to exclude transmission media. As usedherein, when the phrase “at least” is used as the transition term in apreamble of a claim, it is open-ended in the same manner as the term“comprising” is open ended.

FIG. 2 is a flowchart illustrating an example method to implement theexample control system 109 of the example vehicle 100 of FIG. 1 todetect when the vehicle 100 is in a stuck condition. The example methodof FIG. 2 begins at block 202 where the stuck mode controller 126monitors stuck condition parameters. As used herein, stuck conditionparameters refer to any inputs to the stuck mode controller 126 used todetermine whether the vehicle 100 is in a stuck condition and/or used toassist the driver in extricating the vehicle 100 from a stuck condition.Thus, the stuck condition parameters may include feedback from thedriven wheel speed sensors 118, the non-driven wheel speed sensors 120,the longitudinal acceleration sensor 122, the accelerator pedal sensor128, the proximity sensors 130, and/or any other sensors in the vehicle(e.g., measuring lateral acceleration, vertical acceleration, ambienttemperature, yaw rate, roll rate, etc.). Further, the stuck conditionparameters may include the current gear of the transmission and theamount of torque being delivered to the driven wheels 102, 104 asprovided by the drive system 110. Further still, the stuck conditionparameters may also include an indication of the application of brakesas provided by the braking system 114. In some examples, the stuckcondition parameters are provided directly to the stuck mode controller126 for analysis. In other examples, one or more of the stuck conditionparameters may be analyzed by the traction control system 116 and/orother ECU in the vehicle 100 and subsequently provided to the stuck modecontroller 126.

At block 204, the example stuck mode controller 126 determines that thetransmission is in either forward or reverse gear. At block 206, theexample stuck mode controller 126 starts a timer. At block 208, thestuck mode control 126 determines whether the transmission has changedgears. If so, control returns to block 204. Otherwise, control advancesto block 210, where the example stuck mode controller 126 determineswhether an average speed of the driven wheels 102, 104 is above a drivenwheel speed threshold. The threshold value may be any suitable valueabove a non-moving state (e.g., 5 miles per hour (mph), 10 mph, 12 mph,etc.) to indicate that the driven wheels 102, 104 are not at rest butrotating as they are driven by the engine. If the average speed of thedriven wheels 102, 104 does not exceed the driven wheel speed threshold,the stuck condition of the vehicle 100 cannot be determined such thatcontrol returns to block 206 to restart the timer. If the average speedof the driven wheels 102, 104 does exceed the driven wheel speedthreshold, control advances to block 212.

At block 212, the example stuck mode controller 126 determines whetherthe average speed of the vehicle 100 is below a vehicle speed threshold.In some examples, the vehicle speed threshold is determined based on theaverage speed of the non-driven wheels 106, 108. In some examples, thevehicle speed threshold is defined to be less than the driven wheelspeed threshold. More particularly, the vehicle speed threshold may bedefined to correspond to a substantially non-moving condition (e.g.,speeds less than a threshold of 1 mph). An average speed of thenon-driven wheels 106, 108 being less than threshold (e.g., 1 mph) whilethe average speed of the driven wheels 102, 104 exceeds a separatethreshold (e.g., above 10 mph) is an indication that the vehicle is in astuck condition because the vehicle 100 is not moving while the drivenwheels 102, 104 are spinning. When a vehicle 100 is stuck in a rut, itis likely that the vehicle 100 will move slightly backward and forwardwithin the rut such that the speed of the non-driven wheels 106, 108 mayexceed the vehicle speed threshold at any given point in time. However,when averaged over time, the speed will likely not be much greater than0 mph. The possible variation in the amount of slight movements of thevehicle 100 while in a stuck condition accounts for why the vehiclespeed threshold may be non-zero in some examples. If the example stuckmode controller 126 determines that the average speed of the vehicle 100is not below the vehicle speed threshold (block 212), control againreturns to block 206 to restart the timer because movement of thevehicle 100 (indicated by movement of the non-driven wheels 106, 108) iscontrary to a determination of a stuck condition. On the other hand, ifthe example stuck mode controller 126 determines that the average speedof the vehicle 100 is below the vehicle speed threshold, controladvances to block 214.

At block 214, the example stuck mode controller 126 determines whetherthe accelerator pedal is pressed above an accelerator threshold. Theaccelerator pedal position provides an indication of the intent of thedriver based on the amount of torque demand associated with theaccelerator pedal position. In some examples, the threshold is set at anappreciable distance (e.g., 30% of full throttle) to indicate situationswhen the driver desires to cause the vehicle 100 to move, or at leastcause the driven wheels 102, 104 to spin. In some examples, thethreshold may be relatively high (e.g., 80% of full throttle) toindicate situations when the driver desires to spin the wheels 102, 104quickly. A driver's intent to torque the wheels 102, 104 when the actualmovement of the vehicle 100 is negligible (e.g., based on the averagespeed of the non-driven wheels 106, 108 being below the vehicle speedthreshold) is a further indication that the vehicle 100 is in a stuckcondition. If the example stuck mode controller 126 determines that theaccelerator pedal is not pressed above an accelerator threshold, controlreturns to block 206 to restart the timer. If the accelerator pedal ispressed above the accelerator threshold, control advances to block 216.In some examples, block 214 may be omitted.

At block 216, the example stuck mode controller 126 determines whetherthe timer has reached a threshold period of time. In some examples,block 216 serves to ensure that each of the conditions in blocks 210,212, 214 are satisfied for a threshold period of time. Thus, if thetimer has not reached the threshold period of time, control returnsblock 208 to verify the transmission has not changed gears and to againcheck each of the conditions of blocks 210, 212, 214. If the timer hasreached the threshold period of time, control advances to block 218. Thethreshold period of time may be any suitable time period (e.g., 1second, 2 seconds, 5 seconds, etc.).

Reaching block 218 indicates that the vehicle 100 is likely in a stuckcondition. Accordingly, at block 218, the example stuck mode controller126 executes a response to the stuck condition. In some examples, theresponse of the stuck mode controller 126 is to prompt the driver withthe option to turn OFF traction control to assist the driver inattempting to remove the vehicle 100 from the stuck condition. In someexamples, the response of the stuck mode controller 126 is toautomatically cause the traction control to be deactivated withoutdirectly receiving a command from the driver to do so. In some examples,the automatic deactivation of the traction control is only implementedupon further confirmation that the vehicle is in a stuck condition asfurther outlined below in connection with FIG. 3. In some examples, theresponse of the stuck mode controller 126 is to prompt the driver withthe option to enable autonomous control of the vehicle 100 to extricatethe vehicle 100 from the stuck condition without involvement of thedriver. Further detail regarding the autonomous control of the vehicle100 is provided below in connection with FIGS. 4 and 5. Once the examplestuck mode controller 126 has executed the appropriate response, theexample method of FIG. 2 ends.

FIG. 3 is a flowchart illustrating an example method to implement theexample control system of the vehicle of FIG. 1 to automaticallydeactivate a traction control feature of the vehicle 100 when in a stuckcondition. The example method of FIG. 3 begins at block 302 where theexample stuck mode controller 126 sets a counter to 0. At block 304, theexample stuck mode controller 126 monitors stuck condition parameters.At block 306, the example stuck mode controller 126 determines that thetransmission is in either forward or reverse gear. At block 308, theexample stuck mode controller 126 determines whether the stuck conditionparameters indicate a stuck condition. In some examples, block 308 isimplemented similar to the combined sequence of blocks 206, 208, 210,212, 214, and 216 described above in connection with FIG. 2. If thestuck condition parameters do not indicate a stuck condition, controlreturns to block 302 to set the counter to 0. If the stuck conditionparameters do indicate a stuck condition, control advances to block 310.

At block 310, the example stuck mode controller 126 determines whetherthe transmission has shifted between the forward and reverse gearswithin a threshold period of time after detecting the stuck condition.That is, if the vehicle 100 started in forward gear, the example stuckmode controller 126 determines that the transmission has been shifted toreverse gear within a threshold period of time (e.g., 5 second, 10seconds, etc.) after detecting the stuck condition. The relatively rapidshifting of gears following the detection of a stuck condition may beindicative that the driver of the vehicle 100 is attempting to rock thevehicle 100 back and forth to remove the vehicle 100 from a rut. If theexample stuck mode controller 126 does not determine the transmissionshift within the threshold period of time, control returns to block 302.If the example stuck mode controller 126 determines that thetransmission did shift within the threshold period of time, controladvances to block 312.

At block 312, the example stuck mode controller 126 determines whetherthe stuck condition parameters indicate a stuck condition. In someexamples, block 312 is implemented similar to the combined sequence ofblocks 206, 208, 210, 212, 214, and 216 described above in connectionwith FIG. 2. That is, block 312 is the same as block 308 except that thegear of the transmission has switched from forward to reverse or viceversa. If the stuck condition parameters do not indicate a stuckcondition at block 312, control returns to block 302 to set the counterto 0. If the stuck condition parameters do indicate a stuck condition,control advances to block 314 where the example stuck mode controller126 increments the counter.

At block 316, the example stuck mode controller 126 determines whetherthe counter has reached a threshold (e.g., 1, 2, 3, etc.). If not,control advances to block 318 where the example stuck mode controller126 determines whether the transmission has shifted between the forwardand reverse gears within a threshold period of time after detecting thestuck condition. If so, control returns to block 304 to continuemonitoring the stuck condition parameters. Otherwise, control returns toblock 302 to reset the counter to 0. In an example where the counterthreshold is 2, the rocking of the vehicle 100 back and forth in eachdirection is detected twice before the threshold is reached. In someexamples, the counter may be incremented immediately after block 308 inaddition to after block 314 and compared to the threshold each time thetransmission shifts gears.

When the counter threshold is reached, there is a high likelihood thatthe user is in a stuck condition and attempting to rock the vehicle 100out of a rut because there are no other conditions in which a driverwould normally repeatedly spin the wheels 102, 104 in alternatedirections while the vehicle 100 is not moving. Accordingly, if, atblock 316, the example stuck mode controller 126 determines that thecounter is has reached the threshold, control advances to block 320where the example stuck mode controller 126 automatically deactivatesthe traction control feature. In some examples, the stuck modecontroller 126 may directly deactivate or disable the traction control.In other examples, the stuck mode controller 126 may provide a commandto the traction control system 116 to deactivate the traction control.

At block 322, the example user interface 124 provides an indication thatthe traction control is deactivated. At block 324, the example stuckmode controller 126 determines whether the suck condition parametersindicate the vehicle 100 is no longer in a stuck condition. In someexamples, the stuck condition parameters indicate the vehicle 100 is nolonger stuck when the vehicle 100 is moving above a threshold speed(e.g., 5 mph) as determined based on the average speed of the non-drivenwheels 106, 108. In some examples, the non-driven wheels 106, 108 may berolling slightly while the driven wheels 102, 104 are spinning at a muchfaster rate such that the vehicle 100, though moving, is not actuallyunstuck. Accordingly, in some examples, the stuck mode controller 126determines the vehicle 100 is no longer stuck when the vehicle 100 ismoving above a threshold speed and a difference between the averagespeed of the driven wheels 102, 104 and the non-driven wheels 106, 108is less than a threshold. Such a situation indicates both that thevehicle 100 is moving and that the driven wheels 102, 104 are notslipping relative to the non-driven wheels 106, 108. If the suckcondition parameters do not indicate the vehicle 100 is no longer in astuck condition (block 324), control remains at block 324. If the suckcondition parameters do indicate the vehicle 100 is no longer in a stuckcondition, control advances to block 326.

At block 326, the example stuck mode controller 126 automaticallyactivates the traction control feature. At block 328, the example userinterface 124 provides an indication that the traction control isactivated. At block 330, the example stuck mode controller 126determines whether to continue. If so, control returns to block 302.Otherwise, the example method of FIG. 3 ends.

FIG. 4 is a flowchart illustrating an example method to implement theexample control system 109 of the vehicle 100 of FIG. 1 to autonomouslyextricate the vehicle 100 from a stuck condition. The example methodbegins at block 402 where the user interface 124 receives a command toplace vehicle 100 in a stuck mode. In some examples, the stuck modecorresponds to an autonomous control mode of the vehicle 100. Thecommand may be provided from a driver in response to a prompt providedin connection with block 218 of FIG. 2. In some examples, the driver mayprovide the command independent of the flowchart of FIG. 2. At block404, the example stuck mode controller 126 activates the stuck mode ofthe vehicle 100. In some examples, the stuck mode of the vehicle is anautonomous control mode of the vehicle 100. In some examples, thetraction control feature of the vehicle 100 is automatically deactivatedwhen the stuck mode is activated. In some examples, the traction controlmay remain activate but the threshold and/or other parameters used todefine the control of the engine throttling and/or the application ofbrakes is adjusted. At block 406, the example user interface 124provides an indication to the driver that the vehicle 100 is in thestuck mode.

At block 408, the example stuck mode controller 126 determines amaneuverability envelope. As described above, the maneuverabilityenvelope defines the available area surrounding the vehicle 100 in whichthe vehicle 100 may maneuver. In some examples, the stuck modecontroller 126 determines the maneuverability envelope based on feedbackfrom the proximity sensors 130 that detect the proximity of objectssurrounding the vehicle 100. In some examples, the stuck mode controller126 also determined the nature of the maneuverability envelope such as,for example, the angle or slope of the surface on which the vehicle 100is resting. In some example, the maneuverability envelope is monitoredin substantially real-time throughout the example method of FIG. 4 suchthat any changes in the envelope (e.g., a person walking into theenvelope) may be detected and appropriate action taken (e.g.,terminating and/or adjusting control of the vehicle 100).

At block 410, the example stuck mode controller 126 drive system 110directs the wheels 102, 104 based on the maneuverability envelope. Insome examples, the default direction of the wheels 102, 104 may bedirected straight ahead if, for example, there are no detectedobstructions limiting the maneuverability envelope. In some examples,the wheels 102, 104 may be directed to either the left or the rightbased on obstacles detected near either side of the vehicle 100 and/orbased on the slope of the ground as detected within the maneuverabilityenvelope.

At block 412, the example stuck mode controller 126 determines whetherthe driver has assumed control of the vehicle 100. For example, thestuck mode controller 126 may detect that the driver has turned thesteering wheel, stepped on the brake pedal, stepped on the acceleratorpedal, etc. If so, control advances to block 422 where the example stuckmode controller 126 deactivates the stuck mode. That is, the autonomouscontrol of the vehicle 100 is automatically terminated as soon as thereis an indication that the driver has assumed control of the vehicle 100.If the driver has not assumed control of the vehicle 100, controladvances to block 414 to automatically rock the vehicle 100 within themaneuverability envelope. Further detail regarding block 414 is providedbelow in connection with FIG. 5.

At block 416, the example stuck mode controller 126 determines whetherthe stuck condition parameters indicate a non-stuck condition for athreshold period of time. As described above, the stuck conditionparameters may include feedback from the driven wheel speed sensors 118,the non-driven wheel speed sensors 120, and/or other sensors in thevehicle 100. In some examples, the stuck mode controller 126 determinesa non-stuck condition for the vehicle 100 when the difference in theaverage speed of the driven wheels 102, 104 and the non-driven wheels106, 108 is less than a first threshold (e.g., within 2 mph, 5 mph,etc.) when the vehicle 100 is moving (e.g., the speed of the non-drivenwheels 106, 108 is non-zero) for the threshold period of time (e.g., 1second, 2 seconds, etc.). If the example stuck mode controller 126determines that the stuck condition parameters indicate a non-stuckcondition, then control advances to block 422 to deactivate the stuckmode because the vehicle 100 is no longer stuck.

If the example stuck mode controller 126 determines the stuck conditionparameters do not indicate a non-stuck condition (e.g., the vehicle 100is still stuck), control advances to block 418 where the example stuckmode controller 126 determines whether to continue rocking the vehicle100. In some examples, the rocking may continue for a set period of time(e.g., 15 seconds, 30 seconds, 1 minute, etc.). In some examples therocking may continue for a set number of gear shifts between the forwardand reverse direction (e.g., spinning the driven wheels 102, 104 twicein each direction, spinning the driven wheels 102, 104 three times ineach direction, spinning the driven wheels 102, 104 in the forwarddirection at least four times, etc.). If the example stuck modecontroller 126 determines to continue rocking the vehicle 100, controlreturns to block 412. Otherwise, control advances to block 420.

At block 420, the example stuck mode controller 126 determines whetherto attempt to rock the vehicle 100 with the wheels 102, 104 pointing ina different direction. For example, the autonomous rocking of thevehicle 100 (block 414) may initially be executed with the driven wheels102, 104 pointing straight forward. If the vehicle 100 is unable tobecome unstuck, the example stuck mode controller 126 may attempt torock the vehicle 100 with the wheels 102, 104 pointing to either theleft of the right. If the example stuck mode controller 126 attempts torock the vehicle 100 with the wheels 102, 104 pointing in a differentdirection, control returns to block 410 to direct the wheels 102, 104accordingly. Otherwise, control advances to block 422 where the examplethe example stuck mode controller 126 deactivates the stuck mode. Atblock 424, the example user interface 124 provides an indication to thedriver that the vehicle 100 is no longer in the stuck mode. Thereafter,the example method of FIG. 4 ends.

FIG. 5 is a flowchart illustrating an example method to implement theexample control system 109 of the vehicle 100 of FIG. 1 to autonomouslyrock the vehicle 100. As described above, the example method of FIG. 5may be followed to implement block 414 of FIG. 4. The example methodbegins at block 502, where the example drive system 110 shifts thetransmission to forward gear. In some examples, the transmission mayinitially be shifted into the reverse gear instead of the forward gear.In some examples, whether the vehicle 100 begins in drive or reverse isbased on the maneuverability envelope defined around the vehicle 100.

At block 504, the example engine controller 112 throttles the engine tomove the vehicle 100 forward within the maneuverability envelope.Although the vehicle 100 is stuck in a rut, slight movement will likelyoccur along with the spinning and slipping of the driven wheels 102,104. In some examples, the speed at which the driven wheels 102, 104 aretorqued or spun is controlled based on the maneuverability envelope. Forexample, if there is relatively little space in front of the vehicle 100within which the vehicle 10 can maneuver, a relatively low speed or lowtorque may be applied to the wheels 102, 104 (e.g., to maintain thespeed below a threshold speed) to reduce the likelihood of the vehicle100 hitting nearby objects if the vehicle 100 becomes unstuck andescapes the rut in which the vehicle 100 is stuck. By contrast, arelatively large maneuverability envelope may correspond to highertorques and faster spinning wheels because there is less concern of thevehicle 100 hitting surrounding objects if it becomes unstuck. At block506, the example stuck mode controller 126 monitors acceleration andvelocity of the vehicle 100. In some examples, the acceleration ismonitored via the longitudinal acceleration sensor 122. The velocity ofthe vehicle 100 may be monitored via the non-driven wheel speed sensors120.

At block 508, the example stuck mode controller 126 calculates the timeuntil the vehicle 100 is expected to stop moving forward based on thevelocity and the acceleration. That is, the example stuck modecontroller 126 calculates when the driven wheels 106, 108 losesubstantially all traction such that they spin in place and the vehicle100 is likely to begin sliding back into the rut associated with thestuck condition. In some examples, the time until the vehicle 100 isexpected to stop moving is estimated by the ratio of the velocity of thevehicle 100 to the acceleration of the vehicle 100 as measured insubstantially real-time. At block 510, the example drive system 110shifts the transmission to reverse gear a period of time before thevehicle 100 is expected to stop moving. In some examples, the period oftime corresponds to the duration to shift gears in the transmission andapply torque to the wheels 102, 104 in the opposite direction. Thus, insome examples, the drive system 110 begins shifting the transmissionwhen the ratio of the velocity to the acceleration approximatelycorresponds to the period of time for the vehicle 100 to shift gears anddeliver torque to the driven wheels 102, 104. In this manner, when theengine controller 112 throttles the engine to move the vehicle 100 inreverse (block 512), the driven wheels 102, 104 will begin spinning atsubstantially the same time as the vehicle 100 stops moving and beginsbacksliding into the rut, thereby taking advantage of the momentum ofthe vehicle 100 with the spinning of the wheels 102, 104.

At block 514, the example stuck mode controller 126 monitors theacceleration and the velocity of the vehicle 100. At block 516, theexample stuck mode controller 126 calculates the time until the vehicle100 is expected to stop moving in reverse based on the velocity and theacceleration. At block 518, the example stuck mode controller 126determines whether to continue rocking the vehicle 100. If so, controladvances to block 520 where the example drive system 110 shifts thetransmission to the forward gear a period of time before the vehicle 100is expected to stop moving before returning control to block 504. Theperiod of time in block 520 corresponds to the same period of timedescribed above in connection with block 510. If the example stuck modecontroller 126 determines not to continue rocking the vehicle 100, theexample method of FIG. 5 ends and returns to complete the example methodof FIG. 4.

FIG. 6 is a block diagram of an example processor platform 600 capableof executing instructions to implement the methods of FIGS. 2-5 toimplement the control system 109 of the vehicle 100 of FIG. 1. Theprocessor platform 600 can be, for example, a server, a personalcomputer, a mobile device (e.g., a cell phone, a smart phone, a tabletsuch as an iPad™), or any other type of computing device.

The processor platform 600 of the illustrated example includes aprocessor 612. The processor 612 of the illustrated example is hardware.For example, the processor 612 can be implemented by one or moreintegrated circuits, logic circuits, microprocessors or controllers fromany desired family or manufacturer.

The processor 612 of the illustrated example includes a local memory 613(e.g., a cache). In some examples, the processor 612 executes one ormore of the example drive system 110, the example engine controller 112,the example brake system 114, the example traction control system 116,the example driven wheel speed sensors 118, the example non-driven wheelspeed sensors 120, the example longitudinal acceleration sensor 122, theexample user interface 124, the example stuck mode controller 126, theexample accelerator pedal sensor 128, and/or the example proximitysensors 130. The processor 612 of the illustrated example is incommunication with a main memory including a volatile memory 614 and anon-volatile memory 616 via a bus 618. The volatile memory 614 may beimplemented by Synchronous Dynamic Random Access Memory (SDRAM), DynamicRandom Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM)and/or any other type of random access memory device. The non-volatilememory 616 may be implemented by flash memory and/or any other desiredtype of memory device. Access to the main memory 614, 616 is controlledby a memory controller.

The processor platform 600 of the illustrated example also includes aninterface circuit 620. The interface circuit 620 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), and/or a PCI express interface.

In the illustrated example, one or more input devices 622 are connectedto the interface circuit 620. The input device(s) 622 permit(s) a userto enter data and commands into the processor 612. The input device(s)can be implemented by, for example, an audio sensor, a microphone, acamera (still or video), a keyboard, a button, a mouse, a touchscreen, atrack-pad, a trackball, isopoint and/or a voice recognition system.

One or more output devices 624 are also connected to the interfacecircuit 620 of the illustrated example. The output devices 624 can beimplemented, for example, by display devices (e.g., a light emittingdiode (LED), an organic light emitting diode (OLED), a liquid crystaldisplay, a cathode ray tube display (CRT), a touchscreen, a tactileoutput device, a light emitting diode (LED), a printer and/or speakers).The interface circuit 620 of the illustrated example, thus, typicallyincludes a graphics driver card, a graphics driver chip or a graphicsdriver processor.

The interface circuit 620 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem and/or network interface card to facilitate exchange of data withexternal machines (e.g., computing devices of any kind) via a network626 (e.g., an Ethernet connection, a digital subscriber line (DSL), atelephone line, coaxial cable, a cellular telephone system, etc.).

The processor platform 600 of the illustrated example also includes oneor more mass storage devices 628 for storing software and/or data.Examples of such mass storage devices 628 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, RAIDsystems, and digital versatile disk (DVD) drives.

Coded instructions 632 to implement the methods of FIGS. 2-5 may bestored in the mass storage device 628, in the volatile memory 614, inthe non-volatile memory 616, and/or on a removable tangible computerreadable storage medium such as a CD or DVD.

From the foregoing, it will be appreciated that the above disclosedmethods, apparatus and articles of manufacture provide assistance to adriver in attempting to extricate a vehicle from a stuck condition. Insome examples, when the driver alternately spins the wheels 102, 104back and forth in an effort to rock the vehicle 100 out of a rut, thetraction control feature of the vehicle 100 may be automaticallydisabled or deactivated. This can save the driver time from having tolocate the manual switch for the traction control. Further, this canhelp the driver who either forgets to manually disable the tractioncontrol or is not aware of the ability and/or advantages of disablingtraction control when the vehicle 100 is in a stuck condition. Beyondautomatically disabling traction control, in some examples, the vehicle100 may enter a fully autonomous mode in which the torqueing of thewheels 102, 104 alternately in the forward and reverse directions andthe shifting between gears is autonomously controlled. Autonomouscontrol of the vehicle 100 in this manner can enable improved timing ofthe gear shifting and torque application such that the wheels 102, 104begin spinning approximately at the same time that the vehicle stopsmoving in one direction and begins sliding back into the rut to takeadvantage of the momentum of the vehicle. Furthermore, the autonomouscontrol of the vehicle can increase the safety of attempts to extricatethe vehicle 100 from a rut because a maneuverability envelope can bedetermined and monitored in real-time to define the speed at which thewheels 102, 104 are to be driven and/or the direction in which thewheels 102, 104 are to point to reduce the likelihood that the vehicle100 will collide into an object once the vehicle 100 escapes the rut.

Although certain example methods, apparatus and articles of manufacturehave been disclosed herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

What is claimed is:
 1. An apparatus comprising: a user interface toreceive a command to place a vehicle in an autonomous control mode ofthe vehicle; and a stuck mode controller to autonomously shift atransmission of the vehicle alternately between a reverse gear and aforward gear of the vehicle when in the autonomous control mode toautonomously rock the vehicle back and forth, a timing of the shiftingof the transmission based on a ratio of a velocity of the vehicle to anacceleration of the vehicle.
 2. The apparatus of claim 1, wherein thestuck mode controller is to autonomously shift the transmission when theratio approximately corresponds to a time period for the vehicle toshift gears and deliver torque to driven wheels of the vehicle.
 3. Theapparatus of claim 1, wherein the stuck mode controller is to: determinea maneuverability envelope surrounding the vehicle, the maneuverabilityenvelope defining an available area surrounding the vehicle in which thevehicle has space to maneuver; and autonomously control the vehiclebased on the maneuverability envelope.
 4. The apparatus of claim 3,wherein the maneuverability envelope is defined based on sensor feedbackindicating at least one of a distance or a location of an object nearthe vehicle.
 5. The apparatus of claim 4, wherein the stuck modecontroller is to autonomously maintain a speed of driven wheels of thevehicle below a threshold speed, the threshold speed defined based onthe at least one of the distance or the location of the object.
 6. Theapparatus of claim 4, wherein the stuck mode controller is toautonomously control a direction of wheels of the vehicle based on theat least one of the distance or the location of the object.
 7. Theapparatus of claim 3, wherein the stuck mode controller is toautonomously control a direction of wheels of the vehicle based on aslope of a ground within the maneuverability envelope on which thevehicle is positioned.
 8. The apparatus of claim 1, wherein the stuckmode controller is to: autonomously rock the vehicle back and forth withwheels of the vehicle pointed in a first direction during a first periodof time; and autonomously rock the vehicle back and forth with thewheels of the vehicle pointed in a second direction during a secondperiod of time, the first direction being different than the seconddirection.
 9. A non-transitory computer readable medium comprisinginstructions that, when executed, cause a machine to at least: receive acommand to place a vehicle in an autonomous control mode of the vehicle;and autonomously shift a transmission of the vehicle alternately betweena reverse gear and a forward gear of the vehicle when in the autonomouscontrol mode to rock the vehicle back and forth, a timing of theshifting of the transmission based on a ratio of a velocity of thevehicle to an acceleration of the vehicle.
 10. The non-transitorycomputer readable medium of claim 9, wherein the instructions furthercause the machine to autonomously shift the transmission when the ratioapproximately corresponds to a time period for the vehicle to shiftgears and deliver torque to driven wheels of the vehicle.
 11. Thenon-transitory computer readable medium of claim 9, wherein theinstructions further cause the machine to: determine a maneuverabilityenvelope surrounding the vehicle, the maneuverability envelope definingan available area surrounding the vehicle in which the vehicle has spaceto maneuver; and autonomously control the vehicle based on themaneuverability envelope.
 12. The non-transitory computer readablemedium of claim 11, wherein the maneuverability envelope is definedbased on sensor feedback indicating at least one of a distance or alocation of an object near the vehicle.
 13. The non-transitory computerreadable medium of claim 12, wherein the instructions further cause themachine to autonomously maintain a speed of driven wheels of the vehiclebelow a threshold speed, the threshold speed defined based on the atleast one of the distance or the location of the object.
 14. Thenon-transitory computer readable medium of claim 12, wherein theinstructions further cause the machine to autonomously control adirection of wheels of the vehicle based on the at least one of thedistance or the location of the object.
 15. The non-transitory computerreadable medium of claim 11, wherein the instructions further cause themachine to autonomously control a direction of wheels of the vehiclebased on a slope of a ground within the maneuverability envelope onwhich the vehicle is positioned.
 16. The non-transitory computerreadable medium of claim 9, wherein the instructions further cause themachine to: autonomously rock the vehicle back and forth with wheels ofthe vehicle pointed in a first direction during a first period of time;and autonomously rock the vehicle back and forth with the wheels of thevehicle pointed in a second direction during a second period of time,the first direction being different than the second direction.
 17. Amethod comprising: receiving a command to place a vehicle in anautonomous control mode of the vehicle; and autonomously shifting atransmission of the vehicle alternately between a reverse gear and aforward gear of the vehicle when in the autonomous control mode to rockthe vehicle back and forth, a timing of the shifting of the transmissionbased on a ratio of a velocity of the vehicle to an acceleration of thevehicle.
 18. The method of claim 17, further including autonomouslyshifting the transmission when the ratio approximately corresponds to atime period for the vehicle to shift gears and deliver torque to drivenwheels of the vehicle.
 19. The method of claim 17, further including:determining a maneuverability envelope surrounding the vehicle, themaneuverability envelope defining an available area surrounding thevehicle in which the vehicle has space to maneuver; and autonomouslycontrolling the vehicle based on the maneuverability envelope.
 20. Themethod of claim 19, wherein the maneuverability envelope is definedbased on sensor feedback indicating at least one of a distance or alocation of an object near the vehicle.